﻿using System;

namespace sy3_2
{
    // 楼房类：封装楼房的属性和计算逻辑
    class Building
    {
        // 私有字段：楼长、楼宽、楼层数、每平方米单价
        private double length;   // 单位：米
        private double width;    // 单位：米
        private int floors;      // 单位：层
        private double pricePerSqm; // 单位：万元/平方米

        // 构造函数：初始化楼长、楼宽、楼层数
        public Building(double length, double width, int floors)
        {
            this.length = length;
            this.width = width;
            this.floors = floors;
        }

        // 单价属性（仅允许赋值）
        public double PricePerSqm
        {
            set { pricePerSqm = value; }
        }

        // 计算楼房总面积（长×宽×楼层数）
        public double GetTotalArea()
        {
            return length * width * floors;
        }

        // 计算楼房总价（总面积×单价）
        public double GetTotalPrice()
        {
            return GetTotalArea() * pricePerSqm;
        }
    }

    // 程序入口类
    class Program
    {
        // 正确的Main方法：类级静态方法，作为程序入口
        static void Main(string[] args)
        {
            // 1. 接收用户输入楼长
            Console.Write("请输入楼房长(米)：");
            double length = double.Parse(Console.ReadLine());

            // 2. 接收用户输入楼宽
            Console.Write("请输入楼房宽(米)：");
            double width = double.Parse(Console.ReadLine());

            // 3. 接收用户输入楼层数
            Console.Write("请输入楼层数(层)：");
            int floors = int.Parse(Console.ReadLine());

            // 4. 接收用户输入单价
            Console.Write("请输入每平方米单价(万元)：");
            double price = double.Parse(Console.ReadLine());

            // 5. 实例化Building对象（通过构造函数初始化基本属性）
            Building building = new Building(length, width, floors);

            // 6. 给单价属性赋值
            building.PricePerSqm = price;

            // 7. 输出计算结果
            Console.WriteLine("\n--------计算结果--------");
            Console.WriteLine($"楼房总面积：{building.GetTotalArea()} 平方米");
            Console.WriteLine($"楼房总价格：{building.GetTotalPrice()} 万元");

            // 8. 暂停程序，等待用户查看结果
            Console.WriteLine("\n按任意键退出程序...");
            Console.ReadKey();
        }
    }
}